package com.talos.ums.controller.admin.usertenant.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 用户租户表 Response VO")
@Data
@ExcelIgnoreUnannotated
public class UmsUserTenantRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29297")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "用户主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16062")
    @ExcelProperty("用户主键")
    private Long userId;

    @Schema(description = "租户主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "5084")
    @ExcelProperty("租户主键")
    private Long tenantId;

    @Schema(description = "租户编码")
    @ExcelProperty("租户编码")
    private String tenantCode;

    @Schema(description = "租户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("租户名称")
    private String tenantName;

    @Schema(description = "租赁开始时间")
    @ExcelProperty("租赁开始时间")
    private LocalDateTime leaseBeginAt;

    @Schema(description = "租赁结束时间")
    @ExcelProperty("租赁结束时间")
    private LocalDateTime leaseEndAt;

    @Schema(description = "禁用", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("禁用")
    private Integer disableFlag;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("更新时间")
    private LocalDateTime modifyTime;

    @Schema(description = "创建人主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16405")
    @ExcelProperty("创建人主键")
    private Long creatorId;

    @Schema(description = "创建人编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建人编码")
    private String creatorCode;

    @Schema(description = "创建人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("创建人姓名")
    private String creatorName;

    @Schema(description = "更新人主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32532")
    @ExcelProperty("更新人主键")
    private Long modifierId;

    @Schema(description = "更新人编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("更新人编码")
    private String modifierCode;

    @Schema(description = "更新人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("更新人姓名")
    private String modifierName;

}
